]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
overview: Reorganize animateTo/FromOverview()
authorGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>
Fri, 1 Jan 2021 16:39:07 +0000 (13:39 -0300)
committerMarge Bot <marge-bot@gnome.org>
Thu, 11 Feb 2021 15:50:31 +0000 (15:50 +0000)
Instead of directly accessing ViewSelector and calling these methods
there, cascade the calls to OverviewActor, ControlsManager, and finally
ViewSelector. Also move the opacity transition to OverviewActor.

This commit has no functional change.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1624>

js/ui/overview.js
js/ui/overviewControls.js

index e29868022180de5da872816ab4cc790282a29e30..aabc4ec07606682c49e5bfa7939237564aacdf21 100644 (file)
@@ -97,6 +97,35 @@ class OverviewActor extends St.BoxLayout {
         this.add_child(this._controls);
     }
 
+    animateToOverview(callback) {
+        this._controls.animateToOverview();
+
+        this.opacity = 0;
+        this.ease({
+            opacity: 255,
+            mode: Clutter.AnimationMode.EASE_OUT_QUAD,
+            duration: ANIMATION_TIME,
+            onStopped: () => {
+                if (callback)
+                    callback();
+            },
+        });
+    }
+
+    animateFromOverview(callback) {
+        this._controls.animateFromOverview();
+
+        this.ease({
+            opacity: 0,
+            mode: Clutter.AnimationMode.EASE_OUT_QUAD,
+            duration: ANIMATION_TIME,
+            onStopped: () => {
+                if (callback)
+                    callback();
+            },
+        });
+    }
+
     get dash() {
         return this._controls.dash;
     }
@@ -492,15 +521,8 @@ var Overview = class {
         this._activationTime = GLib.get_monotonic_time() / GLib.USEC_PER_SEC;
 
         Meta.disable_unredirect_for_display(global.display);
-        this.viewSelector.animateToOverview();
 
-        this._overview.opacity = 0;
-        this._overview.ease({
-            opacity: 255,
-            mode: Clutter.AnimationMode.EASE_OUT_QUAD,
-            duration: ANIMATION_TIME,
-            onComplete: () => this._showDone(),
-        });
+        this._overview.animateToOverview(() => this._showDone());
 
         Main.layoutManager.overviewGroup.set_child_above_sibling(
             this._coverPane, null);
@@ -555,15 +577,7 @@ var Overview = class {
         this._animationInProgress = true;
         this._visibleTarget = false;
 
-        this.viewSelector.animateFromOverview();
-
-        // Make other elements fade out.
-        this._overview.ease({
-            opacity: 0,
-            mode: Clutter.AnimationMode.EASE_OUT_QUAD,
-            duration: ANIMATION_TIME,
-            onComplete: () => this._hideDone(),
-        });
+        this._overview.animateFromOverview(() => this._hideDone());
 
         Main.layoutManager.overviewGroup.set_child_above_sibling(
             this._coverPane, null);
index 9059d34e9bdf6610de39016a2be486c2d37115fd..e7c62d3c979a7e0ec94f5731cb5caa9f50644bd3 100644 (file)
@@ -172,6 +172,14 @@ class ControlsManager extends St.Widget {
         this._workspaceAdjustment.value = activeIndex;
     }
 
+    animateToOverview() {
+        this.viewSelector.animateToOverview();
+    }
+
+    animateFromOverview() {
+        this.viewSelector.animateFromOverview();
+    }
+
     get searchEntry() {
         return this._searchEntry;
     }